home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 July: Mac OS SDK / Dev.CD Jul 96 SDK / Dev.CD Jul 96 SDK1.toast / Development Kits (Disc 1) / Apple Game Sprockets / Examples / DroneZone / DZSound.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-16  |  2.2 KB  |  96 lines  |  [TEXT/CWIE]

  1. /*
  2.  *    File:        DZSound.c
  3.  *    Author:        Dan Venolia
  4.  *
  5.  *    Contents:    Handles some of the sound stuff.
  6.  *
  7.  *    Copyright © 1996 Apple Computer, Inc.
  8.  */
  9.  
  10. #include <assert.h>
  11. #include <math.h>
  12.  
  13. #include <Controls.h>
  14. #include <Dialogs.h>
  15. #include <Sound.h>
  16.  
  17. #include "SoundSprocket.h"
  18.  
  19. #include "DZSound.h"
  20. #include "DZResource.h"
  21. #include "DZUtils.h"
  22.  
  23. static SSpListenerReference    gSoundListener            = NULL;
  24.  
  25.  
  26. /* =============================================================================
  27.  *        Sound_Init (external)
  28.  *
  29.  *    Initializes the sound stuff.
  30.  * ========================================================================== */
  31. void Sound_Init(
  32.     void)
  33. {
  34.     NumVersion                version;
  35.     
  36.     // Check the sound manager version
  37.     version = SndSoundManagerVersion();
  38.     //• IF YOU CAN'T COMPILE THE PREVIOUS LINE, YOU MUST EDIT YOUR Sound.h TO
  39.     //• MAKE SndSoundManagerVersion RETURN THE TYPE NumVersion.
  40.     
  41.     if (!CheckVersionNumber(&version, 3, 2, 1))
  42.     {
  43.         StopAlert(kAlrtID_SoundMgrVersion, NULL);
  44.         //• TODO: QUIT or disable sound
  45.     }
  46.     
  47.     // Create the listener
  48.     SSpListener_New(&gSoundListener);
  49.     assert(gSoundListener != NULL);
  50.     
  51.     SSpListener_SetMetersPerUnit(gSoundListener, 5.0);
  52. }
  53.  
  54.  
  55. /* =============================================================================
  56.  *        Sound_Exit (external)
  57.  *
  58.  *    Prepares for exit.
  59.  * ========================================================================== */
  60. void Sound_Exit(
  61.     void)
  62. {
  63.     if (gSoundListener != NULL)
  64.     {
  65.         SSpListener_Dispose(gSoundListener);
  66.         gSoundListener = NULL;
  67.     }
  68. }
  69.  
  70.  
  71. /* =============================================================================
  72.  *        Sound_GetListener (external)
  73.  *
  74.  *    Returns the game listener object, which is the "head" position for 3D sound.
  75.  * ========================================================================== */
  76. SSpListenerReference Sound_GetListener(
  77.     void)
  78. {
  79.     assert(gSoundListener != NULL);
  80.     return gSoundListener;
  81. }
  82.  
  83.  
  84. /* =============================================================================
  85.  *        Sound_Configure (external)
  86.  *
  87.  *    Presents the modal dialog to configure the 3D sound stuff..
  88.  * ========================================================================== */
  89. void Sound_Configure(
  90.     void)
  91. {
  92.     SSpConfigureSetup(NULL);
  93. }
  94.  
  95.  
  96.